Frequency spur detection and suppression

ABSTRACT

Techniques for identifying and suppressing frequency spurs in a signal are disclosed. In an embodiment, an incoming signal is rotated by a frequency related to a spur frequency, and an estimate of the content of the rotated signal is derived. The estimate may be subtracted from the rotated incoming signal, and the result de-rotated by the spur frequency. In an embodiment, the incoming signal may be rotated such that the spur is centered at DC. In an alternative embodiment, the estimate may be de-rotated before being subtracted from the original incoming signal. Techniques for addressing multiple spurs using serial and parallel architectures are disclosed. Further disclosed are techniques for searching for the presence of spurs in an incoming signal, and tracking spur frequencies over time.

TECHNICAL FIELD

The disclosure relates to signal processing techniques, and moreparticularly, to techniques for detecting and suppressing frequencyspurs in a signal.

BACKGROUND

A spur is a narrowband interference signal characterized by highspectral content at a single frequency known as a spur frequency. Spursmay originate locally at a device, e.g., harmonics of a referenceoscillator for a transmitter or receiver, harmonics of clocks used fordigital circuits in the device, mixing products of RF components, etc.Spurs may also originate from sources external to the device itself.Unmitigated, spurs may lead to unwanted effects such as stray signalemissions by a transmitter, as well as corruption of signals received bya receiver.

Techniques for suppressing spurs include passing a signal containingboth the desired signal and the spurs through one or more notch filtersdesigned to suppress spectral content at predetermined spur frequencies.Such techniques are described in, e.g., U.S. patent application Ser. No.11/324,858, “Spur suppression for a receiver in a wireless communicationsystem,” filed Jan. 4, 2006, assigned to the assignee of the presentapplication, the contents of which are hereby incorporated herein.

It would be desirable to provide further techniques for suppressingspurs, as well as for identifying spur frequencies and tracking themover time.

SUMMARY

An aspect of the present disclosure provides a method for suppressing atleast one frequency spur from an input signal, the method comprisingrotating the input signal by a first frequency to generate a firstrotated signal; estimating a component of the first rotated signalcorresponding to a first intermediate frequency; de-rotating theestimated component by the first frequency to generate a firstde-rotated spur estimate; subtracting the first de-rotated spur estimatefrom a signal derived from the input signal.

Another aspect of the present disclosure provides a method forsuppressing at least one frequency spur from an input signal, the methodcomprising: rotating the input signal by a first frequency to generate afirst rotated signal; estimating a component of the first rotated signalcorresponding to a first intermediate frequency to generate a firstestimate; subtracting the first estimate from a signal derived from thefirst rotated signal to generate a first corrected signal; andde-rotating the first corrected signal by the first frequency togenerate a first de-rotated corrected signal.

Yet another aspect of the present disclosure provides a method foridentifying the presence of spur frequencies in an input signal, themethod comprising: providing a first search frequency; computing ametric associated with the strength of the input signal's spectrum atthe first search frequency; based on the computed metric, categorizingthe first search frequency as a spur frequency or not a spur frequency.

Yet another aspect of the present disclosure provides a method fortracking and suppressing at least one spur in an input signal, themethod comprising: rotating the input signal by a first tracked spurfrequency to generate a first rotated signal; estimating a DC componentof the first rotated signal to generate a first DC estimate; delayingthe first DC estimate to generate a first delayed DC estimate; computingthe cross-product of the first DC estimate and the first delayed DCestimate to generate a first cross product; filtering the first crossproduct with an IIR filter to generate a first filtered cross product;subtracting the first filtered cross product from a first spur frequencyestimate to generate the first tracked spur frequency.

Yet another aspect of the present disclosure provides an apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: a first rotator for rotating the input signal by afirst frequency to generate a first rotated signal; an estimator forestimating a component of the first rotated signal corresponding to afirst intermediate frequency to generate a first estimate; a firstde-rotator for de-rotating the first estimate by the first frequency togenerate a first de-rotated spur estimate; and a subtractor forsubtracting the first de-rotated spur estimate from a signal derivedfrom the input signal.

Yet another aspect of the present disclosure provides an apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: a first rotator for rotating the input signal by afirst frequency to generate a first rotated signal; a first estimatorfor estimating a component of the first rotated signal corresponding toa first intermediate frequency to generate a first estimate; a firstsubtractor for subtracting the first estimate from a signal derived fromthe first rotated signal to generate a first corrected signal; and afirst de-rotator for de-rotating the first corrected signal by the firstspur frequency to generate a first de-rotated corrected signal.

Yet another aspect of the present disclosure provides an apparatus foridentifying the presence of spur frequencies in an input signal, theapparatus comprising: a spectral analyzer module for determining thestrength of a spectral frequency component in the input signal; and asearcher block configured to specify a plurality of frequencies to thespectral analyzer, the spectral analyzer estimating the strength of eachof said plurality of frequencies, the searcher block further configuredto determine at least one spur frequency based on the estimatedstrengths of the plurality of frequencies.

Yet another aspect of the present disclosure provides an apparatus forsuppressing frequency spurs from an input signal, the apparatuscomprising: a spur searcher configured to identify at least one spurfrequency in an input signal; a spur suppression module comprising afirst rotator for rotating an input signal by a first spur frequency togenerate a first rotated signal, a DC estimator for estimating a DCcomponent of the first rotated signal, a first de-rotator forde-rotating the estimated DC component by the first spur frequency togenerate a first de-rotated spur estimate, and a subtractor forsubtracting the first de-rotated spur estimate from the first rotatedsignal; and a spur frequency tracker configured to generate the firstspur frequency from the at least one spur frequency identified by thespur searcher.

Yet another aspect of the present disclosure provides an apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: means for rotating the input signal by a firstfrequency to generate a first rotated signal; means for estimating acomponent of the first rotated signal corresponding to a firstintermediate frequency to generate a first estimate; means forde-rotating the first estimate by the first frequency to generate afirst de-rotated spur estimate; and means for subtracting the firstde-rotated spur estimate from a signal derived from the input signal.

Yet another aspect of the present disclosure provides an apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: means for rotating the input signal by at leastone spur frequency to generate at least one rotated signal; means forestimating a DC component for each of the at least one rotated signal togenerate at least one DC estimate; means for de-rotating the at leastone DC estimate by the at least one spur frequency to generate at leastone de-rotated spur estimate; and means for subtracting the at least onede-rotated spur estimate from a signal derived from the input signal.

Yet another aspect of the present disclosure provides an apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: means for rotating the input signal by a firstfrequency to generate a first rotated signal; means for estimating acomponent of the first rotated signal corresponding to a firstintermediate frequency to generate a first estimate; means forsubtracting the first estimate from a signal derived from the firstrotated signal to generate a first corrected signal; and means forde-rotating the first corrected signal by the first spur frequency togenerate a first de-rotated corrected signal.

Yet another aspect of the present disclosure provides an apparatus foridentifying the presence of spur frequencies in an input signal, theapparatus comprising: means for determining the strength of a spectralfrequency component in the input signal; means for specifying aplurality of frequencies to the spectral analyzer; and means foridentifying a spur frequency based on the output of said means fordetermining the strength of a spectral frequency component in the inputsignal.

Yet another aspect of the present disclosure provides a computer programproduct for identifying the presence of spur frequencies in an inputsignal, the product comprising: computer-readable medium comprising:code for causing a computer to provide a first search frequency; codefor causing a computer to compute a metric associated with the strengthof the input signal's spectrum at the first search frequency; code forcausing a computer to, based on the computed metric, categorize thefirst search frequency as a spur frequency or not a spur frequency.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates a frequency spectrum 100 a containing an instance ofa desired signal A along with a single instance of a spur characterizedby frequency ω₁.

FIG. 1A illustrates another frequency spectrum 100 b containing multiplespurs at frequencies ω₁, ω₂, ω₃.

FIG. 2 depicts an embodiment of a spur suppressor 200 for suppressing asingle spur from an input signal 200 a according to the presentdisclosure.

FIG. 2A depicts an embodiment of the present disclosure wherein multipleinstances of the spur suppressor 200 are concatenated in series asblocks 200.1, 200.2, . . . , 200.N for suppressing a plurality of spursω₁ through ω_(N).

FIG. 2B depicts an embodiment of a spur suppressor employing a samplememory to delay incoming samples for further processing.

FIG. 3 depicts an embodiment of a spur suppressor 300 that subtracts anestimated spur from the input signal at the original spur frequency.

FIG. 3A depicts an embodiment of a spur suppressor 300 employing asample memory 305.

FIG. 3B further depicts a parallel architecture to suppress multiplespurs ω₁ through ω_(N) from a signal 200 a.

FIG. 4 depicts an embodiment of a spur searcher 400.

FIG. 5 depicts an embodiment of a frequency search algorithm that may beimplemented as part of the searcher algorithm block 430 of FIG. 4.

FIG. 6 illustrates the functionality of a candidate selection scheme530.

FIG. 7 depicts an embodiment of a spur frequency tracking schemeaccording to the present disclosure.

FIG. 8 depicts an embodiment of a spur detector/suppressor 800 employinga plurality of the techniques disclosed herein.

DETAILED DESCRIPTION

According to the present disclosure, rotator-based techniques featuringrapid convergence time and enhanced frequency selectivity are providedfor spur suppression. Also provided are techniques for searching forspur frequencies in a frequency spectrum, and for tracking such spurfrequencies over time.

The techniques described herein may be used for various wirelesscommunication systems such as a code division multiple access (CDMA)system, a time division multiple access (TDMA) system, a frequencydivision multiple access (FDMA) system, an orthogonal frequency divisionmultiple access (OFDMA) system, an orthogonal frequency divisionmultiplexing (OFDM) system, a single-carrier frequency division multipleaccess (SC-FDMA) system, and so on.

A CDMA system may implement one or more radio access technologies suchas cdma2000, Wideband-CDMA (W-CDMA), and so on. cdma2000 covers IS-95,IS-2000, and IS-856 standards. A TDMA system may implement Global Systemfor Mobile Communications (GSM). GSM and W-CDMA are described indocuments from a consortium named “3rd Generation Partnership Project”(3GPP). cdma2000 is described in documents from a consortium named “3rdGeneration Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents arepublicly available. An OFDMA system utilizes OFDM.

An OFDM-based system transmits modulation symbols in the frequencydomain whereas an SC-FDMA system transmits modulation symbols in thetime domain. In general, the techniques described herein may be used forany communication system in which a spur to be suppressed occupies onlya portion of the desired signal bandwidth. The techniques are especiallyapplicable for wideband communications systems such as, e.g., CDMA andOFDM-based systems, or systems whose performance is particularlysensitive to the presence of even relatively weak spurs, such as GlobalPositioning Systems (GPS) and Galileo.

The techniques may be used for a wireless device as well as a basestation in a wireless communication system. A base station is generallya fixed station that communicates with the wireless devices and may alsobe called a base transceiver system (BTS), a Node B, an access point, orsome other terminology. A wireless device may be fixed or mobile and mayalso be called a mobile station, a user equipment, a terminal, asubscriber unit, or some other terminology. A wireless device may be acellular phone, a personal digital assistant (PDA), a wireless modemcard, and so on. The techniques may also be used in wireless broadcastsystems such as MediaFLO.

FIG. 1 illustrates a frequency spectrum 100 a containing an instance ofa desired signal A along with a single instance of a spur characterizedby frequency ω₁. FIG. 1A illustrates another frequency spectrum 100 bcontaining multiple spurs at frequencies ω₁, ω₂, ω₃. Note the desiredsignal A is expected to have a bandwidth greater than the bandwidth ofany single spur. For example, the desired signal A may be a cdma2000spread spectrum signal having a bandwidth of 1.23 MHz, while a spur mayhave a bandwidth on the order of a few kHz or less, or be acontinuous-wave (CW) signal, e.g., a harmonic waveform having close tozero bandwidth.

FIG. 2 depicts an embodiment of a spur suppressor 200 for suppressing asingle spur from an input signal 200 a according to the presentdisclosure. For example, the input signal 200 a may correspond to asignal having the spectrum 100 a shown in FIG. 1. Unless otherwisenoted, in this specification and in the claims, all signals referred tomay generally be complex signals having both in-phase (I) and quadrature(Q) components. Accordingly, the computation blocks described, includingrotators, subtractors, estimators, etc., may generally be capable ofprocessing complex input and output signals.

In FIG. 2, the input signal 200 a is shown rotated by a sinusoidalsignal having complex frequency ω using a rotator 210. The rotator 210is depicted with a counter-clockwise arrow, which is meant to indicaterotation, while the operation depicted with a clockwise arrow (e.g.,corresponding to block 240 in FIG. 2) is meant to indicate de-rotation.In this specification and in the claims, the terms “rotation” and“de-rotation” denote multiplication by a complex sinusoid andmultiplication by the complex conjugate of that complex sinusoid,respectively. Note the term “rotation,” as used in this specification,can refer to shifting a signal in frequency in either a positivedirection or a negative direction depending on the context, while theterm “de-rotation” used in conjunction with such a “rotation” will referto shifting the signal in frequency in the opposite direction from thecorresponding rotation. For example, if in one context, a “rotation”shifts a frequency in a negative direction, e.g., from a positivefrequency ω1 to 0, then the corresponding “de-rotation” would shift afrequency in a positive direction, e.g., from 0 to a positive frequencyω1. Likewise, if in another context, a “rotation” shifts a frequency ina positive direction, e.g., from a negative frequency ω2 to 0, then thecorresponding “de-rotation” would shift a frequency in a negativedirection, e.g., from 0 to a negative frequency ω2. If the direction inwhich a rotation shifts a signal is unspecified, then the term will beunderstood to generally encompass any frequency shift, positive ornegative.

In FIG. 2, the complex frequency ω used for rotation may be chosen tocorrespond to a spur frequency, e.g., the frequency ω₁ associated withthe spur shown in FIG. 1. Assuming the spur frequency is positive, theoperation of rotator 210 shifts the entire spectrum of the input signal200 a in the negative direction such that the spur originally centeredat ω is now centered at DC, i.e., zero-frequency.

In an embodiment, the value of ω may be derived using the spur searchingand/or tracking algorithms described later hereinbelow with reference toFIGS. 4-6. In alternative embodiments, the value of ω may be derivedusing any algorithm for identifying a frequency associated with a spurknown to one of ordinary skill in the art. In yet another embodiment,the value of ω may be programmed with a fixed predetermined frequency,assuming the spur frequency is known a priori.

One of ordinary skill in the art will realize that there are manywell-known techniques for implementing the operation of complexfrequency rotation. In an embodiment, any complex multiplier formultiplying two complex signals may be used, with the phase of theoperands appropriately chosen depending on whether the operation is arotation or de-rotation. In an embodiment, the complex frequencyrotation may be implemented using the CORDIC (coordinate rotationdigital computer) algorithm well-known to one of ordinary skill in theart. These and other embodiments are contemplated to be within the scopeof the present disclosure.

Returning to FIG. 2, the output signal 210 a of the rotator 210 isprovided to a DC estimator 220, which outputs a (complex) estimate α, or220 a, of the DC value of the rotated signal 210 a. As earlier noted,the rotated signal 210 a is expected to contain the spur correspondingto ω centered at DC, and thus the DC estimator 220 is expected toestimate the value of the complex envelope of the spur originally atfrequency ω.

One of ordinary skill in the art will realize that there are manywell-known techniques for implementing the operation of DC estimation.In an embodiment, a simple block averaging technique may be used,wherein the last N samples of the complex signal 210 a are averaged, andthe result held constant as the signal 220 a for the subsequent Nsamples. In another embodiment, a moving average filter may be used,wherein the last N samples of the complex signal 210 a are averagedsample by sample, and the result output as the signal 220 a. In yetanother embodiment, any low-pass filter with a low enough bandwidth maybe used to obtain a DC estimate. Such low-pass filters may generallyinclude finite-impulse response (FIR) filters or infinite-impulseresponse (IIR) filters. For example, in an IIR filter implementation,the last N samples of the complex signal 210 a may be averaged with aneffective time constant, and the result output as the signal 220 a.These and any other techniques for DC estimation known to one ofordinary skill in the art are contemplated to be within the scope of thepresent disclosure.

FIG. 2 further shows that the DC estimate 220 a is subtracted from therotated signal 210 a by subtractor 230. The subtractor output 230 a isde-rotated by the frequency ω using de-rotator 240. One of ordinaryskill in the art will appreciate that the original input signal 200 a isrecovered as processed signal 240 a, minus the components correspondingto spur frequency ω as estimated by DC estimator 220. Note that toperform accurate subtraction of the DC estimate from the originalsignals, one of ordinary skill in the art may design the complexfrequency rotation and de-rotation operations to keep the phase of therotated and de-rotated signals aligned with the phase of the originalsignal.

Note the embodiment depicted in FIG. 2 may be readily modified tosuppress multiple spurs within a signal. FIG. 2A depicts an embodimentof the present disclosure wherein multiple instances of the spursuppressor 200 are concatenated in series as blocks 200.1, 200.2, . . ., 200.N for suppressing a plurality of spurs ω₁ through ω_(N). Each ofthe spur suppressors 200.1 through 200.N may be designed according tothe principles described herein with reference to FIG. 2.

Returning to the embodiment of FIG. 2, note there may generally be adelay present in the DC estimate 220 a computed for the signal 210 a.For example, assuming the DC estimator 220 employs the aforementionedblock averaging scheme with block size N_(block), then the DC estimate220 a subtracted from any single sample of 210 a by subtractor 230 willbe computed from the previous block of N_(block) samples, rather thanthe current sample of 210 a present at the input to subtractor 230. Thisdelay may result in an inaccuracy in the spur estimation, depending onthe amount of delay between the current sample and the actual samplesused to perform the DC estimation. Furthermore, if the total length of adata burst is short relative to the delay, then by the time a DCestimate is calculated for a received signal of a data frame, the dataframe may already have been terminated.

In a communication system wherein data is continuously transmitted overa single uplink or downlink channel, data may be continuously receivedwith a long enough duration such that the delay associated with the DCestimate is negligible. Examples of such systems include CDMA andW-CDMA.

On the other hand, for systems wherein the length of a burst of samplevalues 200 a is comparable to the delay of the DC estimator, a samplememory may be provided as shown for the spur suppressor 201 of FIG. 2B.In FIG. 2B, sample values 210 a are provided to a sample memory 250,which is programmed to store and delay the sample values 210 a by afixed delay. For example, if DC estimator 220 employs a block averagingscheme with block size N_(block), then the sample memory 250 may storeN_(block) samples of the signal 210 a, and provide them to thesubtractor 230 when the DC estimate 220 a associated with the storedN_(block) samples is available. In this way, the subtraction of the DCestimate 220 a may be synchronized with the segment of signal 210 a usedfor the DC estimation.

One of ordinary skill in the art will realize that multiple instances ofthe spur suppressor 201 of FIG. 2B may also be concatenated in series(not shown) to suppress a plurality of spurs, in a manner analogous tothe way in which multiple instances of the spur suppressor 200 of FIG. 2are concatenated in series as shown in FIG. 2A.

The embodiment described with reference to FIG. 2B may readilyaccommodate communication systems wherein data is received over limitedbursts of time, e.g., a time division multiple access (TDMA) system suchas GSM. The embodiment of FIG. 2B may also be applied to any othercommunications systems.

In alternative embodiments, the complex rotator shown need not shift thesignal containing the spur frequency to DC. For example, in anembodiment, the rotator may instead shift the signal containing the spurfrequency to half the digital sampling frequency of the system. In thatcase, the spur component could be estimated using a digital π-frequencyestimator, e.g., a module that multiplies successive samples by asequence such as 1, −1, 1, −1, etc., before summing the multipliedsamples to estimate the value of the component at digital frequency π(where 2π would correspond to the digital sampling frequency). One ofordinary skill in the art will realize that according to the presentdisclosure, the complex rotator may generally shift the signalcontaining the spur frequency to any intermediate frequency, and performcomplex estimation of the frequency component at that intermediatefrequency. The estimated frequency component may then be suppressed fromthe original signal using the techniques of the present disclosure. Suchembodiments are contemplated to be within the scope of the presentdisclosure.

Alternative implementations of a spur suppressor are further describedherein. FIG. 3 depicts an embodiment of a spur suppressor 300 thatsubtracts an estimated spur from the input signal at the original spurfrequency. In FIG. 3, the input signal 200 a is rotated by spurfrequency ω using rotator 310, and the DC component α, or 320 a, of thesignal 310 a is computed by DC estimator 320. Signal 320 a is thende-rotated by frequency ω using de-rotator 330, before being subtractedfrom the original signal 200 a by subtractor 340.

Note the architecture of spur suppressor 300 differs from that of spursuppressor 200 shown in FIG. 2 in that subtraction of the spur is doneat the de-rotated (original) frequency rather than at the rotatedfrequency.

Note a sample memory 305 such as depicted in FIG. 3A may also beprovided for the embodiment of FIG. 3 to account for delays in thesystem.

FIG. 3B further depicts a parallel architecture to suppress multiplespurs ω₁ through ω_(N) from an input signal 200 a. In FIG. 3B, a spurestimation path labeled SP.n is provided for each of spurs ω₁ throughω_(N), wherein n is a spur index ranging from 1 to N. Each spurestimation path SP.n generates a signal 330 a.n that corresponds to areconstructed, de-rotated version of spur ω_(n). Note as the DCestimates 320 a.n are all de-rotated by their respective spurfrequencies con, the spur estimates 330 a.1 through 330 a.N may besimultaneously subtracted from the original (delayed) signal 305 a usingsubtractor 340 to generate the corrected signal 340 a.

One of ordinary skill in the art will realize that the parallelarchitecture of FIG. 3B incurs no additional signal path delay for eachadditional spur to be suppressed, in contrast with a serial architecturesuch as that depicted in FIG. 2A. One of ordinary skill in the art willalso note that, in an embodiment, spur suppressor 300 may beconcatenated in series as depicted in FIG. 2A for spur suppressor 200,and such an embodiment is also contemplated to be within the scope ofthe present disclosure.

Techniques for suppressing spurs having known spur frequencies from agiven signal have been disclosed hereinabove. Further disclosedhereinbelow are techniques to identify unknown spur frequencies bysearching for and tracking spurs in an input signal.

FIG. 4 depicts an embodiment of a spur searcher. In FIG. 4, an inputsignal 400 a containing spurs of unknown frequency are provided to asingle frequency spectral analyzer 400. The single frequency spectralanalyzer 400 calculates the power present at a given frequency ω_searchwithin the signal 400 a. In the embodiment of the single frequencyspectral analyzer shown in FIG. 4, the signal 400 a is rotated using arotator 410 by a candidate frequency ω_search, or 430 a, provided by asearcher algorithm block 430. A DC estimator 420 estimates the DCcomponent of the rotated signal 410 a. The DC estimate 420 a is thenprovided to a power calculation block 425, which calculates the power425 a of DC estimate 420 a. One of ordinary skill in the art willappreciate that while power is the metric used to estimate the strengthof the candidate spurs in FIG. 4, any other suitable metric may also beused, e.g., amplitude. Embodiments utilizing such other metrics arecontemplated to be within the scope of the present disclosure.

The power estimate 425 a is provided back to the searcher algorithmblock 430. The searcher algorithm block thereafter generates a newcandidate frequency ω_search, and again receives a corresponding powerestimate 425 a from single frequency spectral analyzer 400.

By sweeping through a suitable range of candidate frequencies ω_search,noting the corresponding power estimates, and applying a suitablecandidate selection algorithm to the noted power estimates, the searcheralgorithm block 430 may output frequencies ω₁ through ω_(N), or 430 a.1through 430 a.N, corresponding to the candidate frequencies deemed mostlikely to be spur frequencies. Such output frequencies may then beprovided to a spur suppression module, such as previously described withreference to FIGS. 2-3. In alternative embodiments, the outputfrequencies may generally be provided to any spur suppression module forspur suppression.

In an alternative embodiment (not shown), a spur searcher may insteadincorporate a Fast-Fourier Transform (FFT) module as an alternative tothe rotator-based module 400 depicted in FIG. 4. In such an FFT-basedsearcher (not shown), an FFT may be computed based on a segment of theinput signal 400 a. The FFT may compute the amplitude or power presentin the signal 400 a at a plurality of frequency points associated withthe FFT. This spectral content information may then be provided to asuitable searcher algorithm block 430 to identify spurs.

FIG. 5 depicts an embodiment of a frequency search algorithm that may beimplemented as part of the searcher algorithm block 430 of FIG. 4. InFIG. 5, a plurality of candidate frequencies ω_cand(i) to be evaluatedis chosen at step 500, wherein i is an index ranging from 1 to a maximumI. In an embodiment, the candidate frequencies ω_cand(i) may be chosento uniformly span the total bandwidth of a desired signal. At step 505,the index i is initialized to 1. At step 506, ω_search is set equal toω_cand(i). At step 507, ω_search is supplied to a spectral analyzer,such as described with reference to block 400 in FIG. 4. At step 510,the measured power P(i) corresponding to ω_cand(i) is provided to acandidate selection scheme 530. Candidate selection scheme 530 outputs alist of spur frequencies ω₁ through ω_(N) according to a predeterminedalgorithm, an embodiment of which is described in FIG. 6. After step510, the index i is evaluated against the maximum index I at step 520,which determines whether i is to be incremented to evaluate the nextfrequency ω_cand(i+1), or whether i is to be looped back to step 505.

Note the frequency searching operations depicted in FIG. 5 are providedas an illustration only, and are not meant to limit the scope of thepresent disclosure to any particular frequency search algorithm. One ofordinary skill in the art may readily derive alternative frequencysearch schemes.

FIG. 6 illustrates the functionality of a candidate selection scheme530. The selection scheme may store each candidate frequency ω_cand(i)and corresponding P(i) in a table 600. Candidate selection block 605 mayselect a subset N determined to be spur frequencies from the set ofcandidate frequencies I, the subset N including spur frequencies ω₁through ω_(N). One of ordinary skill in the art will realize that thereare many possible ways to implement candidate selection block 605. Forexample, in an embodiment, only candidate spur frequencies ω_cand(i)having a corresponding power level P(i) greater than a predeterminedthreshold Thresh are declared spur frequencies. Note the presentdisclosure is not limited to any particular embodiment of candidateselection block 605, and one of ordinary skill in the art willappreciate that other embodiments may employ alternative criteria andtechniques to select and/or rank candidate frequencies for furtherprocessing.

Note the embodiment of the searcher algorithm depicted in FIGS. 5 and 6is provided for illustration only. One of ordinary skill in the art mayreadily derive other techniques for sweeping through, identifying,and/or ranking preferred spur frequencies given an arbitrary list ofcandidate frequencies and corresponding measured amplitude or powerlevels.

Note the searcher architecture and algorithm described with reference toFIGS. 4 and 5 correspond to a serial searching architecture, i.e., thepower corresponding to each possible candidate frequency is evaluatedone after another, in seriatim. In an embodiment, the single frequencyspectral analyzer may be substituted with a multiple frequency spectralanalyzer to simultaneously measure the power of a plurality offrequencies on each run. Such a multiple frequency spectral analyzer mayinclude, e.g., multiple instances of the rotator 410, DC estimator 420,and power calculator 425 coupled in parallel. One of ordinary skill inthe art may make appropriate modifications to the searcher algorithm ofFIG. 5 to accommodate such an architecture. Note the choice betweenparallel and serial implementations of the searcher effectively tradesoff hardware complexity (multiple instances of rotators, etc., required)for evaluation time (faster speed). Embodiments of spur searchersutilizing serial, parallel, and/or combinations of serial and parallelarchitectures are all contemplated to be within the scope of the presentdisclosure.

In an embodiment of the present disclosure, the candidate frequencies tobe evaluated may be uniformly distributed across the spectrumcorresponding to a desired signal. For example, if a desired signal hasa bandwidth of 1 MHz, candidate spur frequencies may be searched acrossthe entire signal bandwidth in 1 kHz increments, i.e., a spur frequencyresolution of 1 kHz. In this case, the searcher may be called on toevaluate up to 1 MHz/1 kHz=1000 candidate frequencies. To minimizesearch time and/or hardware complexity, it is generally desired tominimize the number of candidate frequencies to be searched. However, todetermine the actual value of each spur frequency with accuracy, it isdesired to maximize the number of candidate frequencies to achievegreater frequency resolution.

Further disclosed hereinbelow are efficient techniques to track spurfrequencies to arbitrary precision given an initial coarse estimate ofeach spur frequency. These tracking techniques allow minimizing searchtime while estimating and tracking spur frequencies with arbitraryprecision.

FIG. 7 depicts an embodiment of a spur frequency tracking schemeaccording to the present disclosure. In FIG. 7, a spur suppressor 700 isprovided to suppress spurs of frequency ω_(n) _(—) track from an inputsignal 700 a. The architecture of spur suppressor 700 corresponds tothat of the embodiment shown in FIG. 3A. Note in alternativeembodiments, spur suppressors employing any of the architecturesdescribed hereinabove may be used. The actual value of the frequencyω_(n) _(—) track supplied to rotator 710 and de-rotator 730 of spursuppressor 700 is generated by a frequency tracking block 770, whoseoperation is described hereinbelow.

Frequency tracking block 770 inputs from DC estimator 720 a complex DCestimate 720 a having both in-phase (I) and quadrature (Q) components.In this specification, the signal 720 a is alternatively denoted asα_(n)(t), wherein n is an index to the spur, and t is the time at whichthe signal 720 a is sampled. Delay block 772 delays signal 720 a by atime delay Δt to generate an output α_(n)(t−Δt), or 772 a. The signalsα_(n)(t) and α_(n)(t−Δt) are input to a cross-product detector (CPD)block 774, which performs the following function on the inputs toproduce an output y, or 774 a in FIG. 7 (Equation 1):

y=α _(n)(t)_(I)*α_(n)(t−Δt)_(Q)−α_(n)(t)_(Q)*α_(n)(t−Δt)_(I);

wherein X_(I) and X_(Q) represent the I and Q components, respectively,of a complex signal X.

The signal 774 a is filtered by an infinite impulse response (IIR)filter 776. In an embodiment, the IIR filter may be characterized by thefollowing equation (Equation 2):

y _(IIR)(p)=βx _(IIR)(p)+(1−β)y _(IIR)(p−1);

wherein p is a discrete time index, x_(IIR) is the IIR filter input,y_(IIR) is the IIR filter output, and β is a loop gain constant (lessthan 1) that can be adjusted to vary the response time of the trackingloop to trade off tracking speed for accuracy.

The output 776 a of the IIR filter 776 may be further multiplied by ascaling gain 778 to produce a signal 778 a. The signal 778 a issubtracted from a frequency ω_(n) by subtractor 780. In an embodiment,the frequency ω_(n) may be a coarse spur frequency estimate suppliedfrom a searcher such as depicted in FIGS. 4-6. The output 780 a of thesubtractor 780 is supplied to the rotators 710 and 740 in spursuppressor 700 as the tracked spur frequency ω_(n) _(—) track.

In an embodiment, the DC estimator 420 of the searcher shown in FIG. 4may employ a block-averaging filter with a block size N_(block) muchsmaller than a block size N_(block) employed for the DC estimator 720 inthe frequency tracking loop shown in FIG. 7. This may be done so thatthe frequency resolution for the searcher may be coarser than thefrequency resolution for the frequency tracking loop, to enable fastersearching times.

In an embodiment comprising a plurality of spur suppressors, such asdepicted in FIGS. 2A and 3B, one of ordinary skill in the art willappreciate that an instance of tracking block 770 may be provided foreach spur suppressor, to track each of the plurality of spurs detected(by, e.g., a searcher) in the signal 770 a.

FIG. 8 depicts an embodiment of a spur detector/suppressor 800 employinga plurality of the techniques disclosed hereinabove. The embodiment inFIG. 8 employs a plurality of spur suppressors 800.1 through 800.N forsuppressing spurs from an input signal 800 a, coupled in parallel asdescribed with reference to FIG. 3B above. A sample memory 805 isprovided to delay the incoming samples 800 a so that they aresynchronized with the spur estimates. A searcher 400 identifies aplurality of spur frequencies ω₁ through ω_(N) with coarse precision,and provides these frequency estimates to the tracking blocks 770.1through 770.N. Each tracking block 770.n is configured to dynamicallytrack each spur frequency, as described with reference to FIG. 7. Theoutputs of the spur suppressors 830.1 a through 803.Na are subtractedfrom the delayed signal 805 a by subtractor 840. In light of theprinciples described hereinabove, the operation of the embodiment shownin FIG. 8 will be clear to one of ordinary skill in the art. Note theembodiment is shown for illustrative purposes only, and is not meant tolimit the scope of the present disclosure to the particular embodimentdepicted in FIG. 8.

Based on the teachings described herein, it should be apparent that anaspect disclosed herein may be implemented independently of any otheraspects and that two or more of these aspects may be combined in variousways. In one or more exemplary embodiments, the functions described maybe implemented in hardware, software, firmware, or any combinationthereof. If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk and blu-ray discwhere disks usually reproduce data magnetically, while discs reproducedata optically with lasers. Combinations of the above should also beincluded within the scope of computer-readable media.

The instructions or code associated with a computer-readable medium ofthe computer program product may be executed by a computer, e.g., by oneor more processors, such as one or more digital signal processors(DSPs), general purpose microprocessors, ASICs, FPGAs, or otherequivalent integrated or discrete logic circuitry.

In this specification and in the claims, it will be understood that whenan element is referred to as being “connected to” or “coupled to”another element, it can be directly connected or coupled to the otherelement or intervening elements may be present. In contrast, when anelement is referred to as being “directly connected to” or “directlycoupled to” another element, there are no intervening elements present.

A number of aspects and examples have been described. However, variousmodifications to these examples are possible, and the principlespresented herein may be applied to other aspects as well. These andother aspects are within the scope of the following claims.

1. A method for suppressing at least one frequency spur from an inputsignal, the method comprising: rotating the input signal by a firstfrequency to generate a first rotated signal; estimating a component ofthe first rotated signal corresponding to a first intermediatefrequency; de-rotating the estimated component by the first frequency togenerate a first de-rotated spur estimate; subtracting the firstde-rotated spur estimate from a signal derived from the input signal. 2.The method of claim 1, the first frequency being a first spur frequencycorresponding to a first spur, the estimating a component of the firstrotated signal comprising estimating a DC component of the first rotatedsignal, the first intermediate frequency being DC.
 3. The method ofclaim 1, the first frequency being a first spur frequency minus half ofa digital sampling frequency of the system, the estimating a componentof the first rotated signal comprising estimating a digital π-frequencycomponent of the first rotated signal, the first intermediate frequencybeing half the digital sampling frequency.
 4. The method of claim 1, thesignal derived from the input signal comprising a signal delayed versusthe input signal by a predetermined delay.
 5. The method of claim 4, thepredetermined delay being a delay associated with the delay of the firstestimate.
 6. The method of claim 1, the signal derived from the inputsignal being the input signal.
 7. The method of claim 1, the rotatingthe input signal comprising performing a complex multiplication betweenthe input signal and a complex frequency signal.
 8. The method of claim7, the performing a complex multiplication comprising using the CORDICalgorithm.
 9. The method of claim 2, the estimating a DC componentcomprising performing block averaging.
 10. The method of claim 2, theestimating a DC component comprising using a moving average.
 11. Themethod of claim 2, the estimating a DC component comprising low-passfiltering.
 12. The method of claim 2, further comprising: rotating theinput signal by a second spur frequency to generate a second rotatedsignal; estimating a DC component of the second rotated signal togenerate a second DC estimate; de-rotating the second DC estimate by thesecond spur frequency to generate a second de-rotated spur estimate; andsubtracting the second de-rotated spur estimate from the signal derivedfrom the input signal.
 13. The method of claim 1, the input signalcomprising a received signal from a time slot of a slotted-timecommunications system.
 14. A method for suppressing at least onefrequency spur from an input signal, the method comprising: rotating theinput signal by a first frequency to generate a first rotated signal;estimating a component of the first rotated signal corresponding to afirst intermediate frequency to generate a first estimate; subtractingthe first estimate from a signal derived from the first rotated signalto generate a first corrected signal; and de-rotating the firstcorrected signal by the first frequency to generate a first de-rotatedcorrected signal.
 15. The method of claim 14, the first frequency beinga first spur frequency of a first spur, the intermediate frequency beingDC, the estimating a component comprising estimating a DC component. 16.The method of claim 14, the signal derived from the first rotated signalcomprising a signal delayed versus the first rotated signal by apredetermined delay.
 17. The method of claim 16, the predetermined delaycomprising a delay associated with the delay of the first estimate. 18.The method of claim 14, the signal derived from the first rotated signalbeing the first rotated signal.
 19. The method of claim 15, furthercomprising: rotating the first de-rotated corrected signal by a secondspur frequency to generate a second rotated signal; estimating a DCcomponent of the second rotated signal to generate a second DC estimate;subtracting the second DC estimate from a signal derived from the secondrotated signal to generate a second corrected signal; and de-rotatingthe second corrected signal by the second spur frequency to generate asecond de-rotated corrected signal.
 20. The method of claim 14, theinput signal comprising a received signal of a CDMA communicationssystem.
 21. A method for identifying the presence of spur frequencies inan input signal, the method comprising: providing a first searchfrequency; computing a metric associated with the strength of the inputsignal's spectrum at the first search frequency; based on the computedmetric, categorizing the first search frequency as a spur frequency ornot a spur frequency.
 22. The method of claim 21, the computing themetric comprising: rotating the input signal by the first searchfrequency to generate a first rotated signal; estimating a DC componentof the first rotated signal to generate a first DC estimate; thecomputing the metric comprising computing the metric based on the firstDC estimate.
 23. The method of claim 21, the computing the metriccomprising computing a power estimate.
 24. The method of claim 21, thecomputing the metric comprising computing an amplitude estimate.
 25. Themethod of claim 21, the categorizing the first search frequencycomprising determining whether the metric associated with the firstsearch frequency exceeds a predetermined threshold.
 26. The method ofclaim 21, the method further comprising: providing a second searchfrequency; computing a metric associated with the strength of the inputsignal's spectrum at the second search frequency; based on the computedmetric, categorizing the second search frequency as a spur frequency ornot a spur frequency.
 27. The method of claim 21, further comprisingsweeping through a plurality of search frequencies, computing a metricassociated with the strength of the input signal's spectrum at each ofthe plurality of search frequencies, and based on the computed metrics,selecting at least one of the search frequencies as corresponding to aspur frequency.
 28. A method for tracking and suppressing at least onespur in an input signal, the method comprising: rotating the inputsignal by a first tracked spur frequency to generate a first rotatedsignal; estimating a DC component of the first rotated signal togenerate a first DC estimate; delaying the first DC estimate to generatea first delayed DC estimate; computing the cross-product of the first DCestimate and the first delayed DC estimate to generate a first crossproduct; filtering the first cross product with an IIR filter togenerate a first filtered cross product; subtracting the first filteredcross product from a first spur frequency estimate to generate the firsttracked spur frequency.
 29. The method of claim 28, further comprisingmultiplying the first filtered cross product by a constant beforesubtracting the first filtered cross product from the first spurfrequency estimate.
 30. The method of claim 29, further comprisingde-rotating the first DC estimate by the first tracked spur frequency togenerate a first de-rotated spur, and subtracting the first de-rotatedspur from the input signal.
 31. The method of claim 28, furthercomprising: rotating the input signal by a second tracked spur frequencyto generate a second rotated signal; estimating a DC component of thesecond rotated signal to generate a second DC estimate; delaying thesecond DC estimate to generate a second delayed DC estimate; computingthe cross-product of the second DC estimate and the second delayed DCestimate to generate a second cross product; filtering the second crossproduct with an IIR filter to generate a second filtered cross product;subtracting the second filtered cross product from a second spurfrequency estimate to generate the second tracked spur frequency;de-rotating the second DC estimate by the second tracked spur frequencyto generate a second de-rotated spur; and further subtracting the secondde-rotated spur from the input signal.
 32. The method of claim 31, atleast one of the first and second spur frequency estimates provided by aspur searching method, the spur searching method comprising: providing afirst search frequency; computing a metric associated with the strengthof the input signal's spectrum at the first search frequency; and basedon the computed metric, categorizing the first search frequency as aspur frequency or not a spur frequency.
 33. The method of claim 28,further comprising subtracting the first DC estimate from the firstrotated signal to generate a first corrected signal, and de-rotating thefirst corrected signal by the first tracked spur frequency.
 34. Anapparatus for suppressing at least one frequency spur from an inputsignal, the apparatus comprising: a first rotator for rotating the inputsignal by a first frequency to generate a first rotated signal; anestimator for estimating a component of the first rotated signalcorresponding to a first intermediate frequency to generate a firstestimate; a first de-rotator for de-rotating the first estimate by thefirst frequency to generate a first de-rotated spur estimate; and asubtractor for subtracting the first de-rotated spur estimate from asignal derived from the input signal.
 35. The apparatus of claim 34, thefirst frequency being a first spur frequency corresponding to a firstspur, the estimator being a DC estimator, the first intermediatefrequency being DC.
 36. The apparatus of claim 34, the signal derivedfrom the input signal comprising a signal delayed versus the inputsignal by a predetermined delay.
 37. The apparatus of claim 34, thepredetermined delay being a delay associated with the delay of the firstestimate.
 38. The apparatus of claim 34, the signal derived from theinput signal being the input signal.
 39. The apparatus of claim 34, thefirst rotator configured to perform a complex multiplication between afirst signal and a second signal.
 40. The apparatus of claim 39, thefirst rotator configured to perform the complex multiplication using theCORDIC algorithm.
 41. The apparatus of claim 35, the DC estimatorcomprising a block averaging filter.
 42. The apparatus of claim 35, theDC estimator comprising a moving average filter.
 43. The apparatus ofclaim 35, the DC estimator comprising a low-pass filter.
 44. Theapparatus of claim 35, further comprising: a second rotator for rotatingthe input signal by a second spur frequency to generate a second rotatedsignal; a second DC estimator for estimating a DC component of thesecond rotated signal to generate a second DC estimate; a secondde-rotator for de-rotating the second DC estimate by the second spurfrequency to generate a second de-rotated spur estimate; and asubtractor for subtracting the second de-rotated spur estimate from thesignal derived from the input signal.
 45. The apparatus of claim 34, theinput signal comprising a received signal from a time slot of aslotted-time communications system.
 46. An apparatus for suppressing atleast one frequency spur from an input signal, the apparatus comprising:a first rotator for rotating the input signal by a first frequency togenerate a first rotated signal; a first estimator for estimating acomponent of the first rotated signal corresponding to a firstintermediate frequency to generate a first estimate; a first subtractorfor subtracting the first estimate from a signal derived from the firstrotated signal to generate a first corrected signal; and a firstde-rotator for de-rotating the first corrected signal by the first spurfrequency to generate a first de-rotated corrected signal.
 47. Theapparatus of claim 46, the first frequency being a first spur frequencycorresponding to a first spur, the first estimator estimating a DCcomponent, the first intermediate frequency being DC.
 48. An apparatusfor identifying the presence of spur frequencies in an input signal, theapparatus comprising: a spectral analyzer module for determining thestrength of a spectral frequency component in the input signal; and asearcher block configured to specify a plurality of frequencies to thespectral analyzer, the spectral analyzer estimating the strength of eachof said plurality of frequencies, the searcher block further configuredto determine at least one spur frequency based on the estimatedstrengths of the plurality of frequencies.
 49. The apparatus of claim48, the spectral analyzer module comprising: a rotator for rotating theinput signal by a first frequency to generate a rotated signal; a DCestimator for estimating a DC component of the rotated signal; and astrength estimator for estimating the strength of the estimated DCcomponent.
 50. The apparatus of claim 48, the strength estimatorestimating the power of the estimated component.
 51. The apparatus ofclaim 48, the spectral analyzer configured to perform a Fast-FourierTransform (FFT) on the input signal.
 52. An apparatus for suppressingfrequency spurs from an input signal, the apparatus comprising: a spursearcher configured to identify at least one spur frequency in an inputsignal; a spur suppression module comprising a first rotator forrotating an input signal by a first spur frequency to generate a firstrotated signal, a DC estimator for estimating a DC component of thefirst rotated signal, a first de-rotator for de-rotating the estimatedDC component by the first spur frequency to generate a first de-rotatedspur estimate, and a subtractor for subtracting the first de-rotatedspur estimate from the first rotated signal; and a spur frequencytracker configured to generate the first spur frequency from the atleast one spur frequency identified by the spur searcher.
 53. Theapparatus of claim 52, the spur frequency tracker comprising: a delaymodule for delaying the estimated DC component to generate a firstdelayed DC component; a cross-product multiplier for multiplying theestimated DC component with the first delayed DC component to generate afirst cross-product signal; a filter for filtering the firstcross-product signal to generate a first filtered cross-product signal;a subtractor for subtracting the first filtered cross-product signalfrom one of the at least one identified spur frequency to generate thefirst spur frequency.
 54. The apparatus of claim 52, the spur searchercomprising: a spectral analyzer module for determining the strength of aspectral frequency component in the input signal; and a searcher blockconfigured to specify a plurality of frequencies to the spectralanalyzer, the spectral analyzer estimating the strength of each of saidplurality of frequencies, the searcher block further configured todetermine at least one spur frequency based on the estimated strengthsof the plurality of frequencies.
 55. An apparatus for suppressing atleast one frequency spur from an input signal, the apparatus comprising:means for rotating the input signal by a first frequency to generate afirst rotated signal; means for estimating a component of the firstrotated signal corresponding to a first intermediate frequency togenerate a first estimate; means for de-rotating the first estimate bythe first frequency to generate a first de-rotated spur estimate; andmeans for subtracting the first de-rotated spur estimate from a signalderived from the input signal.
 56. The apparatus of claim 55, the firstfrequency being a first spur frequency corresponding to a first spur,the first intermediate frequency being DC.
 57. An apparatus forsuppressing at least one frequency spur from an input signal, theapparatus comprising: means for rotating the input signal by at leastone spur frequency to generate at least one rotated signal; means forestimating a DC component for each of the at least one rotated signal togenerate at least one DC estimate; means for de-rotating the at leastone DC estimate by the at least one spur frequency to generate at leastone de-rotated spur estimate; and means for subtracting the at least onede-rotated spur estimate from a signal derived from the input signal.58. An apparatus for suppressing at least one frequency spur from aninput signal, the apparatus comprising: means for rotating the inputsignal by a first frequency to generate a first rotated signal; meansfor estimating a component of the first rotated signal corresponding toa first intermediate frequency to generate a first estimate; means forsubtracting the first estimate from a signal derived from the firstrotated signal to generate a first corrected signal; and means forde-rotating the first corrected signal by the first spur frequency togenerate a first de-rotated corrected signal.
 59. The apparatus of claim58, the first frequency being a first spur frequency corresponding to afirst spur, the first intermediate frequency being DC.
 60. An apparatusfor identifying the presence of spur frequencies in an input signal, theapparatus comprising: means for determining the strength of a spectralfrequency component in the input signal; means for specifying aplurality of frequencies to the spectral analyzer; and means foridentifying a spur frequency based on the output of said means fordetermining the strength of a spectral frequency component in the inputsignal.
 61. The apparatus of claim 60, the means for identifying a spurfrequency comprising: means for determining whether a metric associatedwith a frequency exceeds a predetermined threshold.
 62. The apparatus ofclaim 60, the means for identifying a spur frequency comprising meansfor ranking a plurality of frequencies based on a metric generated bythe means for determining the strength of a spectral frequency componentin the input signal.
 63. A computer program product for identifying thepresence of spur frequencies in an input signal, the product comprising:computer-readable medium comprising: code for causing a computer toprovide a first search frequency; code for causing a computer to computea metric associated with the strength of the input signal's spectrum atthe first search frequency; code for causing a computer to, based on thecomputed metric, categorize the first search frequency as a spurfrequency or not a spur frequency.
 64. The computer program product ofclaim 63, the code for causing a computer to compute the metriccomprising: code for causing a computer to rotate the input signal bythe first search frequency to generate a first rotated signal; and codefor causing a computer to estimate a DC component of the first rotatedsignal to generate a first DC estimate, the code for causing a computerto compute the metric comprising code for causing a computer to computethe metric based on the first DC estimate.
 65. The computer programproduct of claim 63, the code for causing a computer to compute themetric comprising code for causing a computer to compute a powerestimate.
 66. The computer program product of claim 63, the code forcausing a computer to compute the metric comprising code for causing acomputer to compute an amplitude estimate.
 67. The computer programproduct of claim 63, the code for causing a computer to categorize thefirst search frequency comprising code for causing a computer todetermine whether the metric associated with the first search frequencyexceeds a predetermined threshold.
 68. The computer program product ofclaim 63, further comprising: code for causing a computer to provide asecond search frequency; code for causing a computer to compute a metricassociated with the strength of the input signal's spectrum at thesecond search frequency; code for causing a computer to, based on thecomputed metric, categorize the second search frequency as a spurfrequency or not a spur frequency.
 69. The computer program product ofclaim 63, further comprising: code for causing a computer to sweepthrough a plurality of search frequencies; code for causing a computerto compute a metric associated with the strength of the input signal'sspectrum at each of the plurality of search frequencies; and code forcausing a computer to, based on the computed metrics, select at leastone of the search frequencies as corresponding to a spur frequency.